Big Data and Analytics SUMMARIZE এবং ADDCOLUMNS এর মাধ্যমে Complex Queries গাইড ও নোট

311

DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX ফাংশনগুলি ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করার জন্য ব্যবহৃত হয়। DAX-এ কিছু ফাংশন যেমন SUMMARIZE এবং ADDCOLUMNS ব্যবহার করে আপনি complex queries তৈরি করতে পারেন, যেখানে একাধিক কলামের উপর গাণিতিক গণনা এবং গ্রুপিং করতে সক্ষম হন।

এই প্রবন্ধে, আমরা SUMMARIZE এবং ADDCOLUMNS ফাংশনগুলির মাধ্যমে complex queries তৈরি করার প্রক্রিয়া, ব্যবহার এবং উদাহরণ নিয়ে বিস্তারিত আলোচনা করব।


১. SUMMARIZE ফাংশন

SUMMARIZE ফাংশনটি একটি টেবিলের বা এক্সপ্রেশনের উপর গ্রুপিং এবং অ্যাগ্রিগেটেড ক্যালকুলেশন করার জন্য ব্যবহৃত হয়। এটি গ্রুপবাই অপারেশনের মতো কাজ করে এবং নির্দিষ্ট কলামের উপর গ্রুপিং করে, পরে বিভিন্ন aggregations (যেমন SUM, AVERAGE, COUNT) প্রয়োগ করে।

Syntax:

SUMMARIZE(<table>, <group_by_column1>, <group_by_column2>, ..., <new_column1>, <aggregation_function1>, <new_column2>, <aggregation_function2>, ...)
  • : টেবিল বা ডেটা এক্সপ্রেশন, যা থেকে আপনি ডেটা গ্রুপ করতে চান।
  • <group_by_column>: এক বা একাধিক কলাম যা আপনার গ্রুপিংয়ের জন্য ব্যবহার হবে।
  • <new_column>: নতুন কলামের নাম যা আপনি অ্যাগ্রিগেটেড ফলাফল সংরক্ষণ করতে চান।
  • <aggregation_function>: সেই কলামের উপর প্রয়োগ করতে চান এমন aggregation function (যেমন: SUM, AVERAGE, MIN, MAX)।

ব্যবহার:

ধরা যাক, আপনার কাছে Sales টেবিল রয়েছে এবং আপনি ProductID এবং Region অনুযায়ী বিক্রয়ের পরিমাণ এবং গড় বিক্রয়ের পরিমাণ দেখতে চান:

Product Sales Summary = SUMMARIZE(
    Sales, 
    Sales[ProductID], 
    Sales[Region], 
    "Total Sales", SUM(Sales[Amount]), 
    "Average Sales", AVERAGE(Sales[Amount])
)

এটি Sales টেবিলের ProductID এবং Region অনুসারে দুটি নতুন কলাম তৈরি করবে:

  1. Total Sales: বিক্রয়ের মোট পরিমাণ।
  2. Average Sales: বিক্রয়ের গড় পরিমাণ।

এটি একটি নতুন টেবিল তৈরি করবে, যেখানে প্রতিটি ProductID এবং Region অনুসারে মোট এবং গড় বিক্রয়ের পরিমাণ থাকবে।


২. ADDCOLUMNS ফাংশন

ADDCOLUMNS ফাংশনটি ব্যবহৃত হয় একটি টেবিলের উপর নতুন কলাম যোগ করার জন্য। এটি আপনার গ্রুপ করা ডেটার উপর কাস্টম ক্যালকুলেশন যোগ করতে সাহায্য করে এবং নতুন কলাম তৈরি করে। এটি SUMMARIZE ফাংশনের সাথে একত্রিত হয়ে আরও শক্তিশালী কাস্টম কোয়েরি তৈরি করতে ব্যবহৃত হতে পারে।

Syntax:

ADDCOLUMNS(<table>, <new_column1>, <expression1>, [<new_column2>, <expression2>], ...)
  • : যে টেবিলের উপর নতুন কলাম যোগ করতে চান।
  • <new_column>: নতুন কলামের নাম।
  • : সেই কলামের জন্য কাস্টম ক্যালকুলেশন বা এক্সপ্রেশন।

ব্যবহার:

ধরা যাক, আপনি Sales টেবিলের উপর নতুন কলাম যোগ করতে চান, যা প্রতিটি বিক্রয়ের জন্য SalesAmount এবং Discount এর মধ্যে পার্থক্য বের করবে:

Sales with Discount = ADDCOLUMNS(
    Sales, 
    "Discounted Amount", Sales[Amount] - Sales[Discount]
)

এটি Sales টেবিলের প্রতিটি সারিতে একটি নতুন কলাম Discounted Amount যোগ করবে, যা বিক্রয়ের পরিমাণ থেকে ডিসকাউন্ট বাদ দিয়ে হবে।

COMBINING ADDCOLUMNS with SUMMARIZE:

আপনি SUMMARIZE ফাংশনের সাথে ADDCOLUMNS ফাংশনটি একত্রিত করে আরও জটিল কাস্টম ক্যালকুলেশন তৈরি করতে পারেন। উদাহরণস্বরূপ, আপনি যদি ProductID এবং Region অনুসারে SalesAmount এবং Discount যোগ করে একটি কাস্টম ক্যালকুলেশন তৈরি করতে চান:

Product Sales with Discount = ADDCOLUMNS(
    SUMMARIZE(Sales, Sales[ProductID], Sales[Region]),
    "Total Sales", SUM(Sales[Amount]),
    "Discounted Sales", SUM(Sales[Amount]) - SUM(Sales[Discount])
)

এটি ProductID এবং Region অনুসারে মোট বিক্রয় এবং ডিসকাউন্ট বাদ দেওয়া বিক্রয় পরিমাণের জন্য একটি নতুন টেবিল তৈরি করবে।


৩. Complex Queries with SUMMARIZE and ADDCOLUMNS

SUMMARIZE এবং ADDCOLUMNS ফাংশনগুলি একত্রিত হয়ে আরও জটিল কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। নিচে একটি complex query এর উদাহরণ দেওয়া হল যেখানে SUMMARIZE, ADDCOLUMNS, এবং FILTER ফাংশন একসাথে ব্যবহার করা হয়েছে:

Example: Calculating Total Sales and Discounted Sales by Product and Region

ধরা যাক, আপনি Sales টেবিলের জন্য একটি কাস্টম ক্যালকুলেশন তৈরি করতে চান, যা ProductID এবং Region অনুসারে মোট বিক্রয় এবং ডিসকাউন্ট বাদ দেওয়া বিক্রয় পরিমাণের পরিসংখ্যান দেখাবে এবং Amount 1000 এর বেশি এমন বিক্রয়ের পরিসংখ্যান বের করবে।

Filtered Sales Summary = ADDCOLUMNS(
    SUMMARIZE(Sales, Sales[ProductID], Sales[Region]),
    "Total Sales", SUM(Sales[Amount]),
    "Discounted Sales", SUM(Sales[Amount]) - SUM(Sales[Discount]),
    "Filtered Sales", CALCULATE(SUM(Sales[Amount]), Sales[Amount] > 1000)
)

এখানে:

  • SUMMARIZE ফাংশনটি ProductID এবং Region এর উপর গ্রুপিং করবে।
  • ADDCOLUMNS ফাংশনটি নতুন কলাম Total Sales, Discounted Sales, এবং Filtered Sales যোগ করবে।
  • CALCULATE ফাংশনটি Sales[Amount] > 1000 শর্তে বিক্রয় পরিমাণ বের করবে।

এটি একটি টেবিল তৈরি করবে যেখানে ProductID এবং Region অনুসারে Total Sales, Discounted Sales, এবং Filtered Sales পরিমাণ প্রদর্শিত হবে।


৪. Best Practices for Using SUMMARIZE and ADDCOLUMNS

  1. Minimize Nested Expressions: SUMMARIZE এবং ADDCOLUMNS এর মধ্যে nested expressions ব্যবহার করলে পারফরম্যান্স কমতে পারে। যতটা সম্ভব সিম্পল এক্সপ্রেশন ব্যবহার করুন।
  2. Use FILTER to Reduce Data: FILTER ফাংশনটি ব্যবহার করে ডেটা ফিল্টার করুন যাতে আপনি শুধু প্রয়োজনীয় ডেটার উপর ক্যালকুলেশন করেন। এটি পারফরম্যান্স উন্নত করতে সাহায্য করবে।
  3. Avoid Using Too Many Columns in SUMMARIZE: একাধিক কলাম ব্যবহার করার সময় এটি পারফরম্যান্সে প্রভাব ফেলতে পারে। SUMMARIZE ফাংশনে শুধুমাত্র প্রয়োজনীয় কলামগুলো অন্তর্ভুক্ত করুন।
  4. Variables for Repetitive Calculations: যখন আপনি এক্সপ্রেশন পুনরায় ব্যবহার করবেন, তখন variables ব্যবহার করুন, যাতে ক্যালকুলেশনগুলো বারবার না করা হয়।

সারাংশ

SUMMARIZE এবং ADDCOLUMNS ফাংশনগুলি DAX-এ complex queries তৈরি করতে অত্যন্ত শক্তিশালী টুলস। SUMMARIZE ফাংশনটি ডেটাকে গ্রুপ করে এবং ADDCOLUMNS ফাংশনটি নতুন কলাম যোগ করতে ব্যবহৃত হয়। একত্রে ব্যবহারের মাধ্যমে আপনি aggregation এবং custom calculations তৈরি করতে পারেন, যা Power BI বা Excel-এ ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরির জন্য কার্যকরী। এই ফাংশনগুলির সঠিক ব্যবহার নিশ্চিত করলে আপনি আরও কার্যকরী এবং অপটিমাইজড কাস্টম ক্যালকুলেশন তৈরি করতে সক্ষম হবেন।

Content added By
Promotion

Are you sure to start over?

Loading...